package com.sunrise.generico.entidade;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import lombok.Getter;
import lombok.Setter;

import com.sunrise.generico.entidade.iface.EntidadeManter;

@Entity
@Table(name = "boleto")
public class Boleto implements EntidadeManter {

	/**
	 * 
	 */
	private static final long serialVersionUID = 9043724661424862176L;

	@Id
	@SequenceGenerator(name="pk_sequence",sequenceName="boleto_id_seq", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
	@javax.persistence.Column
	@Getter @Setter
	private Long id;
	
	@Column(name = "nome")
	@Getter @Setter
	private String nome;
	
	@Column(name = "cpf", length = 14)
	@Getter @Setter
	private String cpf;
	
	@Column(name = "nossoNumero", unique = true)
	@Getter @Setter
	private long nossoNumero;
	
	@Column(name = "valor")
	@Getter @Setter
	private BigDecimal valor;
	
	@Column(name = "dataVencimento")
	@Getter @Setter
	private Date dataVencimento;

	@Column(name = "dataEmissao")
	@Getter @Setter
	private Date dataEmissao;
	
	@Column(name = "instrucoes1")
	@Getter @Setter
	private String instrucoes1;
	
	@Column(name = "instrucoes2")
	@Getter @Setter
	private String instrucoes2;
	
	@Column(name = "instrucoes3")
	@Getter @Setter
	private String instrucoes3;
	
	@Column(name = "observacoes")
	@Getter @Setter
	private String observacoes;
	
	@OneToOne
	@Getter @Setter
	private Usuario criador;
	
	@ManyToOne
	@Getter @Setter
	private Pessoa cliente;
	
	
	@OneToOne
	@Getter @Setter
	private ContaCedente cedente;
	
	@OneToOne
	@Getter @Setter
	private Endereco enderecoSacado;
	
	
	

}
